package com.zmn.oms.common.constant;

import com.google.common.collect.Lists;
import com.zmn.oms.common.vo.KVDict;

import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

/**
 * 类描述：
 *
 * @author lhl
 * @date 2020/03/06 13:55
 */
public final class EntrustOrderConsts {

    private static final List<KVDict<Integer>> PRODUCT_LIST = new LinkedList<>();

    private static final Map<String, KVDict<Integer>> PRODUCT_MAP = new HashMap<>();


    static {
        List<KVDict<Integer>> list = PRODUCT_LIST;

        list.add(KVDict.<Integer>builder().value(93).text("iPhone 5se").disabled(false).build()); // 苹果
        list.add(KVDict.<Integer>builder().value(90).text("iPhone 6").disabled(false).build()); // 苹果
        list.add(KVDict.<Integer>builder().value(96).text("iPhone 6s").disabled(false).build()); // 苹果
        list.add(KVDict.<Integer>builder().value(88).text("iPhone 6p").disabled(false).build()); // 苹果
        list.add(KVDict.<Integer>builder().value(89).text("iPhone 6sp").disabled(false).build()); // 苹果
        list.add(KVDict.<Integer>builder().value(91).text("iPhone 7").disabled(false).build()); // 苹果
        list.add(KVDict.<Integer>builder().value(92).text("iPhone 7p").disabled(false).build()); // 苹果
        list.add(KVDict.<Integer>builder().value(98).text("iPhone 8p").disabled(false).build()); // 苹果
        list.add(KVDict.<Integer>builder().value(100).text("iPhone 11").disabled(false).build()); // 苹果
        list.add(KVDict.<Integer>builder().value(97).text("iPhone 11pro").disabled(false).build()); // 苹果
        list.add(KVDict.<Integer>builder().value(101).text("iPhone 11 pro max").disabled(false).build()); // 苹果
        list.add(KVDict.<Integer>builder().value(94).text("iPhone X").disabled(false).build()); // 苹果
        list.add(KVDict.<Integer>builder().value(99).text("iPhone XS").disabled(false).build()); // 苹果
        list.add(KVDict.<Integer>builder().value(95).text("iPhone Xs Max").disabled(false).build()); // 苹果
        list.add(KVDict.<Integer>builder().value(102).text("iPhone XR").disabled(false).build()); // 苹果
        //list.add(KVDict.<Integer>builder().value(1).text("iPad Pro 12.9").disabled(false).build()); // ipad
        list.add(KVDict.<Integer>builder().value(8).text("iPad Pro 12.9 一代 (A1584)").disabled(false).build()); // ipad
        list.add(KVDict.<Integer>builder().value(4).text("iPad pro 12.9 二代 (A1670)").disabled(false).build()); // ipad
        list.add(KVDict.<Integer>builder().value(3).text("iPad Pro 9.7 (A1673)").disabled(false).build()); // ipad
        //list.add(KVDict.<Integer>builder().value(2).text("iPad Pro (A1980)").disabled(false).build()); // ipad
        list.add(KVDict.<Integer>builder().value(5).text("iPad Pro 11.0 (A1980)").disabled(false).build()); // ipad
        list.add(KVDict.<Integer>builder().value(10).text("iPad Pro (A1852)").disabled(false).build()); // ipad
        list.add(KVDict.<Integer>builder().value(7).text("iPad mini4 (A1538)").disabled(false).build()); // ipad
        list.add(KVDict.<Integer>builder().value(9).text("iPad mini5").disabled(false).build()); // ipad
        list.add(KVDict.<Integer>builder().value(6).text("iPad 2017 (A1822)").disabled(false).build()); // ipad
        list.add(KVDict.<Integer>builder().value(11).text("iPad 2018 (A1893)").disabled(false).build()); // ipad
        list.add(KVDict.<Integer>builder().value(12).text("iPad Air3 (A2152)").disabled(false).build()); // ipad
        list.add(KVDict.<Integer>builder().value(13).text("iPad Air (A2133)").disabled(false).build()); // ipad
        list.add(KVDict.<Integer>builder().value(103).text("MacBook pro").disabled(false).build()); // 苹果笔记本

        list.add(KVDict.<Integer>builder().value(14).text("OPPO findx").disabled(false).build()); // oppo
        list.add(KVDict.<Integer>builder().value(15).text("OPPO a5").disabled(false).build()); // oppo
        list.add(KVDict.<Integer>builder().value(16).text("OPPO k1").disabled(false).build()); // oppo
        list.add(KVDict.<Integer>builder().value(17).text("OPPO A7X").disabled(false).build()); // oppo
        list.add(KVDict.<Integer>builder().value(18).text("OPPO R11S plus").disabled(false).build()); // oppo
        list.add(KVDict.<Integer>builder().value(19).text("OPPO r17 pro").disabled(false).build()); // oppo
        list.add(KVDict.<Integer>builder().value(20).text("OPPO R7s").disabled(false).build()); // oppo
        list.add(KVDict.<Integer>builder().value(21).text("OPPO R15").disabled(false).build()); // oppo
        list.add(KVDict.<Integer>builder().value(22).text("OPPO reno").disabled(false).build()); // oppo
        list.add(KVDict.<Integer>builder().value(23).text("OPPO R15 x").disabled(false).build()); // oppo

        list.add(KVDict.<Integer>builder().value(38).text("vivo Nex").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(35).text("vivo V3").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(43).text("vivo V3 max").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(24).text("vivo X6 plus").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(29).text("vivo X6a").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(37).text("vivo X7 plus").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(34).text("vivo X9").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(27).text("vivo X9 plus").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(25).text("vivo X9s").disabled(false).build()); // vivo
        //list.add(KVDict.<Integer>builder().value(40).text("vivo X9s").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(28).text("vivo X9s plus").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(31).text("VIVO X9i").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(44).text("vivo X20").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(45).text("vivo x20 plus").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(36).text("vivo X20a").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(41).text("vivo X23").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(26).text("vivo X27").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(30).text("vivo Y63").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(33).text("vivo Y93").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(39).text("vivo Z1").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(32).text("vivo Z1i").disabled(false).build()); // vivo
        list.add(KVDict.<Integer>builder().value(42).text("vivo Z3i").disabled(false).build()); // vivo

        list.add(KVDict.<Integer>builder().value(58).text("华为 P30 pro").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(78).text("华为 P20").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(47).text("华为 P20 pro").disabled(false).build()); // 华为
        //list.add(KVDict.<Integer>builder().value(65).text("华为 P20 pro").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(66).text("华为 P10 plus").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(67).text("华为 P9 plus").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(49).text("华为 Mate20").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(55).text("华为 Mate20 pro").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(79).text("华为 Mate20x").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(69).text("华为 Mate10").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(59).text("华为 Mate10 pro").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(61).text("华为 Mate9").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(50).text("华为 Mate9 保时捷").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(51).text("华为 荣耀20").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(52).text("华为 荣耀20 pro").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(76).text("华为 荣耀V20").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(53).text("华为 荣耀V10").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(68).text("华为 荣耀10").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(63).text("华为 荣耀9").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(57).text("华为 荣耀9x").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(62).text("华为 荣耀8").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(70).text("华为 荣耀8青春版").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(72).text("华为 Nova青春版").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(60).text("华为 Nova5").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(48).text("华为 Nova5i").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(75).text("华为 Nove5i pro").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(56).text("华为 Nove4").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(64).text("华为 Nova4e").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(77).text("华为 Nova2s").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(73).text("华为 畅享10 plus").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(71).text("华为 畅享9s").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(74).text("华为 畅享9e").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(54).text("华为 畅享8").disabled(false).build()); // 华为
        list.add(KVDict.<Integer>builder().value(80).text("华为 M5").disabled(false).build()); // 华为平板
        list.add(KVDict.<Integer>builder().value(81).text("华为 M3").disabled(false).build()); // 华为平板

        list.add(KVDict.<Integer>builder().value(82).text("锤子 坚果3").disabled(false).build()); // 坚果

        list.add(KVDict.<Integer>builder().value(83).text("美图 T8").disabled(false).build()); // 美图
        list.add(KVDict.<Integer>builder().value(84).text("美图 M8").disabled(false).build()); // 美图
        list.add(KVDict.<Integer>builder().value(85).text("美图 M8S").disabled(false).build()); // 美图

        list.add(KVDict.<Integer>builder().value(86).text("魅族 魅蓝E3").disabled(false).build()); // 魅族
        list.add(KVDict.<Integer>builder().value(87).text("魅族 魅蓝note6").disabled(false).build()); // 魅族

        list.add(KVDict.<Integer>builder().value(108).text("三星 Galaxy C8").disabled(false).build()); // 三星
        list.add(KVDict.<Integer>builder().value(104).text("三星 Galaxy S8+").disabled(false).build()); // 三星
        list.add(KVDict.<Integer>builder().value(107).text("三星 Galaxy A9").disabled(false).build()); // 三星
        list.add(KVDict.<Integer>builder().value(105).text("三星 Galaxy C9pro").disabled(false).build()); // 三星
        list.add(KVDict.<Integer>builder().value(115).text("三星 Galaxy S9").disabled(false).build()); // 三星
        list.add(KVDict.<Integer>builder().value(109).text("三星 Galaxy S9+").disabled(false).build()); // 三星
        list.add(KVDict.<Integer>builder().value(116).text("三星 Galaxy S10+").disabled(false).build()); // 三星
        list.add(KVDict.<Integer>builder().value(110).text("三星 Galaxy Note9").disabled(false).build()); // 三星
        list.add(KVDict.<Integer>builder().value(112).text("三星 Note2").disabled(false).build()); // 三星
        list.add(KVDict.<Integer>builder().value(114).text("三星 Note10+").disabled(false).build()); // 三星
        list.add(KVDict.<Integer>builder().value(106).text("三星 A6s").disabled(false).build()); // 三星
        list.add(KVDict.<Integer>builder().value(111).text("三星 c5000").disabled(false).build()); // 三星
        list.add(KVDict.<Integer>builder().value(113).text("三星 s10").disabled(false).build()); // 三星

        list.add(KVDict.<Integer>builder().value(125).text("小米 3").disabled(false).build()); // 小米
        list.add(KVDict.<Integer>builder().value(123).text("小米 6").disabled(false).build()); // 小米
        list.add(KVDict.<Integer>builder().value(130).text("小米 6X").disabled(false).build()); // 小米
        list.add(KVDict.<Integer>builder().value(133).text("小米 8").disabled(false).build()); // 小米
        list.add(KVDict.<Integer>builder().value(136).text("小米 8a").disabled(false).build()); // 小米
        list.add(KVDict.<Integer>builder().value(124).text("小米 8se").disabled(false).build()); // 小米
        list.add(KVDict.<Integer>builder().value(129).text("小米 9").disabled(false).build()); // 小米
        list.add(KVDict.<Integer>builder().value(118).text("小米 9se").disabled(false).build()); // 小米
        list.add(KVDict.<Integer>builder().value(122).text("小米 MIX2").disabled(false).build()); // 小米
        list.add(KVDict.<Integer>builder().value(134).text("小米 MIX2S").disabled(false).build()); // 小米
        list.add(KVDict.<Integer>builder().value(127).text("小米 note3").disabled(false).build()); // 小米
        list.add(KVDict.<Integer>builder().value(132).text("小米 红米S2").disabled(false).build()); // 小米
        list.add(KVDict.<Integer>builder().value(126).text("小米 红米3S").disabled(false).build()); // 小米
        list.add(KVDict.<Integer>builder().value(119).text("小米 红米4X").disabled(false).build()); // 小米
        list.add(KVDict.<Integer>builder().value(117).text("小米 红米5").disabled(false).build()); // 小米
        list.add(KVDict.<Integer>builder().value(120).text("小米 红米5plus").disabled(false).build()); // 小米
        list.add(KVDict.<Integer>builder().value(121).text("小米 红米Pro").disabled(false).build()); // 小米
        list.add(KVDict.<Integer>builder().value(131).text("小米 红米7").disabled(false).build()); // 小米
        list.add(KVDict.<Integer>builder().value(128).text("小米 红米Note7 pro").disabled(false).build()); // 小米
        list.add(KVDict.<Integer>builder().value(135).text("小米 红米note").disabled(false).build()); // 小米

        list.add(KVDict.<Integer>builder().value(137).text("一加 5T").disabled(false).build()); // 一加手机
        list.add(KVDict.<Integer>builder().value(138).text("一加 6").disabled(false).build()); // 一加手机

        list.add(KVDict.<Integer>builder().value(46).text("红魔 一代").disabled(false).build()); // 红魔


        Map<String, KVDict<Integer>> map = PRODUCT_MAP;
        for (KVDict<Integer> item : list) {
            map.put(String.valueOf(item.getValue()), item);
        }
    }

    /**
     * 获取产品名称
     * @param productId
     * @return
     */
    public static String getProductName(Integer productId) {
        KVDict<Integer> dict = PRODUCT_MAP.get(String.valueOf(productId));
        if (dict != null) {
            return dict.getText();
        }
        return "未知产品：" + String.valueOf(productId);
    }

    /**
     * 返回产品列表
     * @return
     */
    public static List<KVDict<Integer>> getProductList() {
        return PRODUCT_LIST;
    }
}
